/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Soligee.controller.bo;

import Soligee.report.CriaQuery;
import Soligee.report.ManipulaXML;
import Soligee.report.Relatorio;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;

import javax.xml.parsers.ParserConfigurationException;
import net.sf.jasperreports.engine.JRException;
import org.xml.sax.SAXException;

/**
 *
 * @author Las
 */
public class RelatorioControle {
  private CriaQuery cq = new CriaQuery();
  private  ManipulaXML mxml = new ManipulaXML() ;
  private Relatorio rel =  new Relatorio();

  //constantes categiria de produtos
  private final int TODOS = 7;
  private final int CARNES = 2;
  private final int FRIOS_LATICIONIOS= 6;
  private final int CONGELADOS= 4;
  private final int LEITE_IOGURTE =5;
  private final int LIMPEZA = 3;
  private final int BEBIDAS = 1;



    public void relatorioCliente(int subSelecao1, int subSelecao2 ) throws JRException, ClassNotFoundException, SQLException, ParserConfigurationException, SAXException, IOException{
        //RELATORIO PESSOA FISICA COMPLETO
        if(subSelecao1 == 1 && subSelecao2 == 1){
            System.out.println(" Relatorio de pessoaFisicaCompleto foi solicitado.");

            //CAMINHO ABSOLUTO
            // mxml.modificaXML("C:\\reports\\clientePessoaFisicaCompleto", cq.queryPessoaFisicaCompleto());
            // rel.geraRelatorioPDF("C:\\reports\\clientePessoaFisicaCompleto");
             //System.out.println("relatorio pessoa fisica completo gerado com sucesso.");


                mxml.modificaXML("Relatorios\\clientePessoaFisicaCompleto", cq.queryPessoaFisicaCompleto());
                rel.geraRelatorioPDF("Relatorios\\clientePessoaFisicaCompleto");
                System.out.println("relatorio pessoa fisica completo gerado com sucesso.");

           

                java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\clientePessoaFisicaCompleto.pdf"));//return null means stay on the same page

        }



        //RELATORIO PESSOA FISICA CONTATO
        else if(subSelecao1 == 1 && subSelecao2 == 2){
            System.out.println(" Relatorio de pessoaFisicaContato foi solicitado.");
                mxml.modificaXML("Relatorios\\clientePessoaFisicaContato", cq.queryPessoaFisicaContato());
                 rel.geraRelatorioPDF("Relatorios\\clientePessoaFisicaContato");
            System.out.println("relatorio pessoa fisica contato gerado com sucesso.");

         java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\clientePessoaFisicaContato.pdf"));//return null means stay on the same page


        }

         else if(subSelecao1 == 2 && subSelecao2 == 1){
              System.out.println(" Relatorio de pessoasJuridicaCompleto foi solicitado.");
            mxml.modificaXML("Relatorios\\clientePessoaJuridicaCompleto",cq.queryPessoaJuridicaCompleto() );
            rel.geraRelatorioPDF("Relatorios\\clientePessoaJuridicaCompleto");
              System.out.println("relatorio pessoa juridica completo gerado com sucesso.");
              
           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                    desktop.open(new File("Relatorios\\clientePessoaJuridicaCompleto.pdf"));




         }

         else if(subSelecao1 == 2 && subSelecao2 == 2){
              System.out.println(" Relatorio de pessoasJuridicaContato foi solicitado.");
                 mxml.modificaXML("Relatorios\\clientePessoaJuridicaContato",cq.queryPessoaJuridicaContato() );
                 rel.geraRelatorioPDF("Relatorios\\clientePessoaJuridicaContato");
                 System.out.println("relatorio pessoa juridica contato gerado com sucesso.");
                 
                        java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                    desktop.open(new File("Relatorios\\clientePessoaJuridicaContato.pdf"));



         }
    }


    public void relatoioFornecedor(int subSelecao) throws IOException, ParserConfigurationException, SAXException, JRException, ClassNotFoundException, SQLException{
        System.out.println( "relatorio escolhido:"+subSelecao);
        if(subSelecao == 1){
              System.out.println(" Relatorio de FornecedorCompleto foi solicitado.");
         mxml.modificaXML("Relatorios\\fornecedorCompleto", cq.queryFornecedorCompleto());
          rel.geraRelatorioPDF("Relatorios\\fornecedorCompleto");
System.out.println("relatorio fornecedor completo gerado com sucesso.");

          java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\fornecedorCompleto.pdf"));//return null means stay on the same page

        }

         else if(subSelecao == 2){
              System.out.println(" Relatorio deFornecedorContato foi solicitado.");
         mxml.modificaXML("Relatorios\\fornecedorContato", cq.queryFornecedorContato());
          rel.geraRelatorioPDF("Relatorios\\fornecedorContato");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\fornecedorContato.pdf"));//return null means stay on the same page
           System.out.println("relatorio fornecedor Contato gerado com sucesso.");

         }
          

    }

    public void relatorioProdutos(int subSelecao) throws ParserConfigurationException, IOException, SAXException, ClassNotFoundException, JRException, SQLException{

        if(subSelecao == TODOS){
          System.out.println(" Relatorio de Produtos - Todos - foi solicitado.");
          mxml.modificaXML("Relatorios\\produtos",cq.queryProdutos());
           rel.geraRelatorioPDF("Relatorios\\produtos");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtos.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos  gerado com sucesso.");

        }

        else if(subSelecao == CARNES){
             System.out.println(" Relatorio de Produtos - Carnes - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(CARNES)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Carnes  gerado com sucesso.");

        }
            

        
        else if(subSelecao == BEBIDAS){
               System.out.println(" Relatorio de Produtos - Bebidas - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(BEBIDAS)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Bebidas  gerado com sucesso.");

        }
        else if(subSelecao == FRIOS_LATICIONIOS){
           System.out.println(" Relatorio de Produtos - Frios/Laticinios - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(FRIOS_LATICIONIOS)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Frios/Laticinios gerado com sucesso.");

        }
        else if(subSelecao == CONGELADOS){
             System.out.println(" Relatorio de Produtos - Congelados - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(CONGELADOS)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Congelados  gerado com sucesso.");
        }
        else if(subSelecao == LEITE_IOGURTE){
             System.out.println(" Relatorio de Produtos - Leite/iogurte - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(LEITE_IOGURTE)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Leite/iogurte gerado com sucesso.");

        }
        else if(subSelecao == LIMPEZA){
              System.out.println(" Relatorio de Produtos - Limpeza - foi solicitado.");
           mxml.modificaXML("Relatorios\\produtosCategoria",cq.criaQueryProdutos(String.valueOf(LIMPEZA)));
           rel.geraRelatorioPDF("Relatorios\\produtosCategoria");

           java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                desktop.open(new File("Relatorios\\produtosCategoria.pdf"));//return null means stay on the same page
           System.out.println("relatorio Produtos - Limpeza gerado com sucesso.");          

        }


    }

}
